package com.zerdoor.service;

import java.util.List;
import java.util.Map;

/**
 * Created by zhongjieyu on 2015/1/6.
 */
public interface ItemStageService {

    /**
     * 根据合同ID查询阶段数据信息
     * @param contractId 合同ID
     * @return
     * @throws Exception
     */
    List<Map<String,String>> findStageByContractId(int contractId) throws Exception;

    /**
     * 上传阶段附件，根据阶段ID修改阶段附件数据
     * @param deliverable 附件地址
     * @param stageId 阶段ID
     * @throws Exception
     */
    void updateStageDeliverableById(String deliverable,String stageId) throws Exception;

    /**
     * 根据阶段ID查询阶段订单信息（应付费用）
     * @param stageId 阶段ID
     * @param userId 用户id
     * @return
     * @throws Exception
     */
    Map findOrderInfoByStageId(int stageId, int userId) throws Exception;


    /**
     * 支付宝支付增值服务费用
     * @param stageId
     * @param user_id
     * @throws Exception
     */
    boolean addvaluePayByAlipay(int stageId,int user_id) throws Exception;

    /**
     * paypay支付增值服务费用
     * @param stageId
     * @param user_id
     * @throws Exception
     */
    boolean addvaluePayByPaypay(int stageId,int user_id) throws Exception;


    /**
     * 余额支付增值服务费用
     * @param stageId
     * @param user_id
     * @return title 为项目名称 static 中 0 为支付失败，1为支付成功
     * @throws Exception
     */
    Map<String,Object> addvaluePayByBalance(int stageId,int user_id) throws Exception;

    /**
     * 根据阶段ID通过本阶段
     * @param stageId
     * @param userID
     * @return true 表示通过成功 false 表示通过失败
     * @throws Exception
     */
    boolean updateThroughThisStage(int stageId, int userID) throws Exception;
}
